package idv.jieh.commons.sql;

import idv.jieh.commons.util.DataAnalysis;
import java.util.Vector;
import java.sql.*;

/**
 * <p>Title: 藍色小惡魔的系統</p>
 * @author Jieh
 * @version 1.0
 */
public class RowCache extends Vector {

  // *************************** 以上為施工區 ***************************

  private Row2TableChannel mTable = null;

  RowCache(Row2TableChannel tc){
    super(tc.getColSize());
    this.mTable = tc;
  }

  RowCache(ResultSet rs, Row2TableChannel tc)
      throws SQLException {
    this(tc);
    for (int i=1, l=mTable.getColSize(); i<=l; i++) {
      String str = rs.getString(i);
      str = DataAnalysis.trimNull(str);
      super.addElement(str);
    }
  }

  /**
   * 輸入欄位名稱取得資料。<p>
   * @param col 欄位名稱。
   * @return 資料。
   */
  public String getValue(Object col) {
    return super.elementAt(mTable.getColIdx(col)).toString();
  }

  /**
   * 寫入新的資料到指定的欄位名稱。<p>
   * @param value 要修改的資料。
   * @param col 指定的欄位。
   */
  public void setValue(String value, String col) {
    super.setElementAt(DataAnalysis.trimNull(value), mTable.getColIdx(col));
  }

} // end class RowCache
